package Common;
import Log.Logger;

// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.A50AFBF1-B7D8-EF88-F603-3FB2B46E40A7]
// </editor-fold> 
public class Coelho {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.88DF98D9-90A0-96D4-3B52-386FFC12F332]
    // </editor-fold> 
    private int Id;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.40987DBA-6F1A-9F59-9E3F-CEAC0B182DE7]
    // </editor-fold> 
    private int Energia;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,id=DCE.4CB224D2-3696-7C86-B5C4-986E4FDFAA90]
    // </editor-fold>
    private EstadoCoelho state;

    private int NL, NC;
    private int E_s;
    private int E_j;
    private int E_t;
    private int x,y;

    protected Logger log;
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.2EF2398E-C850-924A-D684-8C2E0B7241A2]
    // </editor-fold> 
    public Coelho () {
    }

    public Coelho (int id, int energy, int Es, int Ej, int Et, int line, int column, int nl, int nc) {
        this.Energia = energy;
        this.Id = id;
        this.NL = nl;
        this.NC = nc;
        this.E_s = Es;
        this.E_j = Ej;
        this.E_t = Et;
        this.x = column;
        this.y = line;
        this.setState(EstadoCoelho.Wandering);
        log=new Logger(id,"Coelho");
    }

    public int getNC() {
        return NC;
    }

    public void setNC(int NC) {
        this.NC = NC;
        log.Log("NC do coelho "+ Id + "alterado para: "+NC);
    }

    public int getNL() {
        return NL;
    }

    public void setNL(int NL) {
        this.NL = NL;
        log.Log("NL  do coelho "+ Id + "altarado para: "+NL);
    }

    public int getE_j() {
        return E_j;
    }

    public void setE_j(int E_j) {
        this.E_j = E_j;
        log.Log("E_j do coelho "+ Id + "alterado para: "+E_j);
    }

    public int getE_s() {
        return E_s;
    }

    public void setE_s(int E_s) {
        this.E_s = E_s;
        log.Log("E_s do coelho "+ Id + " alterado para: "+E_s);
    }

    public int getE_t() {
        return E_t;
    }

    public void setE_t(int E_t) {
        this.E_t = E_t;
        log.Log("E_t do coelho "+ Id + " alterado para: "+E_t);
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
        log.Log("Coordenada X do coelho "+ Id + " alterada para: "+x);
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
        log.Log("Coordenada Y do coelho "+ Id + " alterada para: "+y);
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.B0C85173-26A6-CE59-3CAA-C618E494437B]
    // </editor-fold> 
    public int getEnergia () {
        return Energia;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.4581DBFC-EDDE-CA42-18C3-F75D91480F5E]
    // </editor-fold> 
    public void setEnergia (int val) {
        this.Energia = val;
        log.Log("Energia do coelho "+ Id +" alterada para: "+val);
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.C6851EF4-B291-F5AF-906A-518BA8054888]
    // </editor-fold> 
    public int getId () {
        return Id;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.80D40305-956D-2853-E6EB-8E5B6BE945D3]
    // </editor-fold> 
    public void setId (int val) {
        this.Id = val;
    }
    
    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.592DFBFD-1269-5524-6386-412494E25480]
    // </editor-fold>
    public EstadoCoelho getState () {
        return state;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.996C0D0A-5D6C-ECC6-CD70-598F84E1B4A0]
    // </editor-fold>
    public void setState (EstadoCoelho val) {
        this.state = val;
    }
}

